/**
 * ...
 * >author		João Vítor de Souza
 */

package com.joaosouza.core.platform 
{
	import com.joaosouza.core.strategy.GameStrategy;
	import com.joaosouza.core.strategy.IGameStrategy;	
	import com.joaosouza.data.game.GameModel;
	import com.joaosouza.data.game.IGameModel;
	import com.joaosouza.display.game.GameScreen;
	import com.joaosouza.display.game.IGameScreen;
	import com.joaosouza.media.GameSound;
	import com.joaosouza.media.IGameSound;	
	import com.joaosouza.ui.GameInput;
	import com.joaosouza.ui.IGameInput;	

	public class WebPlatform implements IPlatformFactory
	{
		// ___________________________________________________________________ CONSTANTS		
		
		// ___________________________________________________________________ CLASS PROPERTIES
		
		// ___________________________________________________________________ INSTANCE PROPERTIES
		
		// ___________________________________________________________________ GETTERS AND SETTERS
		
		// ___________________________________________________________________ CONSTRUCTOR
		
		public function WebPlatform() { }		
		
		// ___________________________________________________________________ PUBLIC METHODS
		
		/* INTERFACE com.joaosouza.core.platform.IPlatformFactory */
		
		public function getGameScreen(id:String):IGameScreen 
		{
			return new GameScreen(id);
		}
		
		public function getGameModel():IGameModel 
		{
			return new GameModel();
		}
		
		public function getGameInput():IGameInput 
		{
			return new GameInput();
		}
		
		public function getGameStrategy():IGameStrategy 
		{
			return new GameStrategy();
		}
		
		public function getGameSound():IGameSound 
		{
			return new GameSound();
		}
		
		// ___________________________________________________________________ PRIVATE METHODS
		
		// ___________________________________________________________________ EVENTS
	}
}

